import 'package:flutter/material.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      // ThemeData 是flutter用于定义应用主题样式的类
      // 你可以通过它设置颜色、字体、按钮样式等全局风格。
      theme: ThemeData(
        colorScheme: ColorScheme.fromSeed(seedColor: Colors.red), // 主色
        brightness: Brightness.light, // 亮色主题
        fontFamily: 'Roboto', // 字体
        useMaterial3: true, // 建议开启Material3
        appBarTheme: const AppBarTheme(
          backgroundColor: Colors.red, // 背景色
          foregroundColor: Colors.black, // 字体颜色
        )
      ),
      home: Scaffold(
        appBar: AppBar(
          title: const Text('Flutter app'),
          //backgroundColor: Theme.of(context).colorScheme.primary, // 强制使用主题颜色
        ),
        body: MyHomePage(),
      ),
    );
  }
}

class MyHomePage extends StatelessWidget {
  const MyHomePage({super.key});

  @override
  Widget build(BuildContext context) {
    /**
     * Positioned : 是flutter中用于在Stack布局里精确定位子组件的控件。
     * 可以通过left、right、top、bottom属性，指定子组件距离Stack边界的距离，从而实现绝对定位
     */
    return Container(
      width: 300,
      height: 400,
      color: Colors.black26,
      child: Stack(
        children: [
          Positioned(
            left: 0,
            bottom: 0,
            child: Container(width: 100, height: 100, color: Colors.yellow),
          ),
          Positioned(
            right: 0,
            top: 0,
            child: Container(width: 100, height: 100, color: Colors.orange),
          ),
          Positioned(right: 0, top: 0, child: Text('你好，Flutter！')),
          Positioned(right: 0, bottom: 0, child: Text('你好，Flutter！')),
        ],
      ),
    );
  }
}
